#pragma once

class GameEngine;

class AbstractGame
{
public:
	AbstractGame();
	virtual ~AbstractGame();

	virtual void Tick(float dTime) = 0;
	virtual void Paint() = 0;
	virtual void Init() = 0;
	virtual void OnResize() = 0;
	virtual void KeyPressed(WPARAM key) = 0;

private:
	AbstractGame(const AbstractGame &t);
	AbstractGame& operator= (const AbstractGame &t);
};